The present invention is a method and device for detecting the presence of Robbed-Bit-Signaling (RBS) and/or a Network Digital Attenuater (NDA) on a channel between a communications server and client, a method and device for determining the phase(s) of the RBS process relative to the frame index of the Server Data Encoder. These techniques can be used to help minimize the impact of RBS/NDA on the data rate over such channels.
The techniques described herein relate to improvements in data communications on Digital Telephone Networks (DTN's). Presently, typical modems used to communicate over the public telephone system represent binary data by an analog waveform that is modulated in response to the binary data. As an example, one such standard for modem communications is detailed in the International Telecommunication Union, Telecommunication Standardization Sector ("ITU-T") Recommendation V.34 (1994). The waveform is in turn analyzed at a receiving modem to recover the binary data. For modem signals transmitted over the public telephone system, the analog waveforms are treated by central office facilities in the same manner as if the waveforms were analog voice signals. In other words, the waveforms are digitized into eight bit octets by an analog to digital converter (ADC) codec at the central office, and the octets are transmitted in digital format between central offices until they are converted back to an analog signal by a digital to analog converter (DAC) codec at the central office that is connected to the receiving subscriber loop. The public switched telephone network has operated in this manner for many years.
The data rate attainable by a modem operating in such an environment is limited by numerous factors including, in particular, the codec sample rate and the number and spacing of quantization levels of the codec converters at the central office switches. The effect on an analog signal associated with sampling the signal amplitude and representing the sample by one of a finite number of discrete (digital) values is generally referred to as quantization noise. Most telephone switches utilize voice codecs that perform nonlinear A/D and D/A conversions known as .mu.-law or A-law conversion. In these conver sion formats, the 8-bit codec codewords, also referred to as octets, represent analog voltages that are nonlinearly spaced. This type of conversion performs well for voice signals intended for a human listener (especially when transmitted over a noisy line), but have a negative impact on modulated analog waveforms associated with modems. Specifically, codecs that adhere to these standard nonlinear conversion formats use nonlinearly spaced quantization levels, and have the effect of increasing quantization noise which is detrimental to modulated analog waveforms.
Until recently, it was thought that t he maximum attainable data rate for signals passing through the DTN was limited by the quantization noise associated with the codecs. However, it has been recognized that a data distribution system can overcome certain aspects of the aforesaid limitations by providing a digital data source connected directly to the DTN, without any intervening ADC or DAC. In such a system, the telephone network routes digital signals from the data source to the client's local subscriber loop without any intermediary analog facilities, such that the only analog portion of the link from server to client is the client's local loop (plus the associated analog electronics at both ends of the loop). The only DAC in the transmission path is the one at the Telephone Company's end of the client's subscriber loop. In such a system digital data can be converted into PCM codes, and fed to the DTN as 8-bit bytes (octets) at the network's clock rate of 8 kHz. At the distant end, the DTN's DAC converts each byte to one of 255 analog voltage levels, which is sent over the client's subscriber loop and received by a subscriber device (i.e., a modem) at the client's location.
FIG. 1 shows a block diagram of a data distribution system. The system includes a data source 10, or server, having a direct digital connection 30 to a digital telephone network (DTN) 20. A client 40 is connected to the DTN 30 by a subscriber loop 50 that is typically a two-wire, or twisted-pair, cable. The DTN routes digital signals from the data source 10 to the client's local subscriber loop without any intermediary analog facilities such that the only analog portion of the link from the server to the client is the client's local loop 50. The analog portion thus includes the channel characteristics of the local loop transmission line plus the associated analog electronics at both ends of the line. This typically includes a subscriber line interface card at the central office that includes a codec, as well as circuitry used to generate and interpret call progress signals (ring voltage, on-hook and off-hook detection, etc.). The only D/A converter in the transmission path from the server to the client is the one at the DTN end of the client's subscriber loop. It is understood that the client-side, or subscriber-side, equipment may incorporate an A/D and D/A for its internal signal processing, as is typical of present day modem devices. For the reverse channel, the only A/D converter in the path from the client to the server is also at the Telephone Company's end of the client's subscriber loop.
FIG. 2 shows a typical communication system presently used for data communication. The basic elements of the subscriber loop connection are a modem 62 that is connected by an analog line 64 to a local switch 66, which terminates the switched digital telephone network 60. The modem 62 is typically located at the subscriber's premises and includes a receiver 68 and transmitter 70. As shown in FIG. 2 the receiver 68 and the transmitter 70 are coupled to the analog line 64 by a hybrid 72. The transmitter 70 converts input digital data 74 into analog signals that are passed through the hybrid 72 and transmitted over the analog line 64 to the local switch 66. Likewise, the receiver 68 converts input analog signals, which pass from the analog line 64 through the hybrid 72, into digital data 76.
At the local switch 66 end of the subscriber loop, analog signals from the line 64 are directed through a hybrid 78 to an analog-to-digital converter 80. The analog-to-digital converter 80 samples the analog signals converting them into a digital data stream for transmission through the switched digital telephone network 60. For transmission in the opposite direction, a digital data stream is applied from the digital telephone network 60 to a digital-to-analog converter 82. The digital-to-analog converter 82 converts the data stream into analog signals that are passed through to the hybrid 78 to the analog line 64, for transmission to the appropriate subscriber. Preferably, the hybrids 72 and 78 are used to interface the transmit and receive signals into a two-wire circuit for transmission over a single twisted pair. In the event that a four-wire circuit is used, having a dedicated two-wire connection for transmission in each direction, hybrids 72 and 78 are unnecessary.
In the system shown in FIG. 1, digital data can be input to the DTN as 8-bit bytes (octets) at the DTN's clock rate of 8 kHz. This is commonly referred to as a DS-0 signal format. At the DTN's interface to the subscriber loop, the DTN's codec converts each byte to one of 255 analog voltage levels (two different octets each represent 0 volts) that are sent over the client's subscriber loop and received by a decoder at the client's location. As shown in FIG. 3, the analog voltages, or points, corresponding to the quantization levels are non-uniformly spaced and follow a generally logarithmic curve. As can be seen in FIG. 3, the increment in the analog voltage levels produced from one codeword to the next is not linear, but depends on the mapping as shown. Note that the vertical scale of FIG. 3 is calibrated in integers from 0 to 32,124. These numbers correspond to a linear 16-bit A/D converter. As is known to those of ordinary skill in the art, the sixteenth bit is a sign bit which provides integers from 0 to -32124 which correspond to octets from 0 to 127, not shown in FIG. 3. Thus FIG. 3 can be viewed as a conversion between the logarithmic binary data and the corresponding linear 16-bit binary data. It can also be seen in FIG. 3 that the logarithmic function of the standard conversion format is approximated by a series of 8 linear segments.
The conversion from octet to analog voltage is well known, and is based on a system called .mu.-law coding in North America (and A-law coding in Europe). Theoretically, there are 256 points represented by the 256 possible octets, or .mu.-law codewords. The format of the .mu.-law codewords is shown in FIG. 4, where the most significant bit b.sub.7 indicates the sign, the three bits b.sub.6 -b.sub.4 represent the linear segment, and the four bits, b.sub.0 -b.sub.3 indicate the step along the particular linear segment. These points are symmetric about zero; i.e., there are 128 positive and 128 negative levels, including two encodings of zero. Since there are 254 points not including zero, the maximum number of bits that can be sent per signaling interval (symbol) is just under 8 bits. Other factors, such as noise, digital attenuation (pads), channel distortion introduced by the subscriber loop, and the crowding of points at the smaller voltage amplitudes and the associated difficulty in distinguishing between them at the decoder/receiver, may reduce the maximum attainable bit rate.
Certain network connections utilize a supervisory signaling technique called Robbed Bit Signaling (RBS). On RBS links, the least significant bit (LSB) of the PCM code is usurped, or "robbed", by the network periodically and used to convey control information. The PCM codes from different channels are grouped together and multiplexed into frames, typically 24 DS-0 channels plus a framing bit, to create a DS-1 signal that may be sent over a T-1 carrier system. In typical robbed bit signaling, the T-1 carrier system uses the LSB of every channel, every sixth frame, for sending control and status information between network equipment. Thus, each DS-0 user loses the use of the LSB every sixth octet (once per every sixth DS-1 frame). Ordinarily, these channels are used for voice communications, and the bit robbing merely increases quantization noise of the effected time slots. The effect of robbed bit signaling on voice quality is barely perceptible to the human ear.
Usually the robbed bit is replaced by a logical `1` at the DAC before transmission to the subscriber, but some DACs output a level halfway between logical `1` and logical `0`, which we refer to as logical `1/2`. There are also networks that substitute a logical `0` for the robbed bit before passing it to the subscriber loop. In short, there are three possible ways that codecs interpret robbed-bit signaling: one where the LSB is always viewed as a logical `1`; one where the LSB is viewed as a logical `0`; and one where the analog output level is midway between the two analog levels that would otherwise be produced.
In addition, due to the fact that a DS-0 channel might traverse several digital networks before arriving at the network DAC at the remote location, more than one PCM code word per 6 time slots could have a bit robbed by each network, with each network setting the LSB to `1` or `0` before passing it on to another network. Thus bit robbing may be of different phases because the network links are not frame synchronized. It should be noted that only a DAC can produce the `1/2` type robbed bit. Timing signals sent to the DAC are used to indicate what slot is bit-robbed. Therefore, only one RBS interval of type `1/2` can exist per 6 time slots. So in general, every 6 time slots may contain 0,1, . . . , 6 robbed bit intervals of type `1` or `0`, but only one of the 6 can be of type `1/2`.
To control power levels, some networks impose digital attenuators. Unlike analog attenuators, a network digital attenuator (NDA) is not linear. Because there are a finite number of digital levels to choose from, the NDA will be unable to divide each codeword in half. This causes distortion of the analog level ultimately transmitted by the DAC over the subscriber loop. For example, if the NDA is designed to reduce voltage levels by 1/2 (6 dB), then PCM code 130 will attenuate to code 146, and the corresponding analog levels will not be related exactly by a factor of 1/2. Also, NDAs can produce code ambiguities, which happens more frequently with codes corresponding to small absolute linear values. Specifically, more than one codeword may be reduced to the same attenuated codeword, resulting in an ambiguity.
RBS and an NDA can coexist in many combinations. For example, a PCM interval could have a robbed bit of type `1`, followed by an NDA followed by another robbed bit of type `1`. This could happen to a byte if a channel goes through a bit-robbed link, then through an NDA, then another bit-robbed link before the network DAC.
The above described data transmission system will in general suffer an unacceptable level of data errors on RBS/NDA circuits unless a coding method is devised that does not depend on the bits that are robbed/attenuated by the network. This coding technique will be most efficient if the LSB's of the PCM codes can be utilized during all symbol intervals except the ones that are subject to RBS. This efficiency can only be obtained if the modem receiver determines the presence of RBS, the phase(s) of the RBS time slots relative to the transmitter's frame reference, and communicates this information to the transmitter during the start-up phase of the communications session.
In addition, detecting the presence of a network digital attenuator can further allow for a more judicious choice of PCM codes to minimize the impact of distortion and code ambiguities. It is also desirable to train and maintain a DFE during RBS/NDA to minimize training-time noise performance penalties, which requires accurate "hard" decisions.